﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
using System.Xml.Serialization;

namespace RPGLib
{
    public class TileSet
    {
        string path;
        int width, height, tileSize;
        List<int> walkable;
        XMLDictionary<int, string> tiles;
        XMLDictionary<int[], string> tileObjects;
        Texture2D t2dTileset;

        public int Width
        {
            get { return this.width; }
            set { this.width = value; }
        }

        public int Height
        {
            get { return this.height; }
            set { this.height = value; }
        }

        public int TileSize
        {
            get { return this.tileSize; }
            set { this.tileSize = value; }
        }

        public string Path
        {
            get { return this.path; }
            set { this.path = value; }
        }

        public List<int> Walkable
        {
            get { return this.walkable; }
            set { this.walkable = value; }
        }

        public XMLDictionary<int, string> Tiles
        {
            get { return this.tiles; }
            set { this.tiles = value; }
        }

        public XMLDictionary<int[], string> TileObjects
        {
            get { return this.tileObjects; }
            set { this.tileObjects = value; }
        }

        [XmlIgnore]
        public Texture2D TileSetTexture
        {
            get { return this.t2dTileset; }
            set { this.t2dTileset = value; }
        }

        public TileSet() { }
    }
}
